home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / eme.bas < prev    next >
BASIC Source File  |  1985-09-03  |  13KB  |  387 lines

  1. 10 REM ************MOON COORDINATES *****************
  2. 1000 REM ************MOON COORDINATES *****************
  3. 1010 REM
  4. 1020 REM PRIMARILY FOR USE IN EARTH MON EARTH
  5. 1030 REM (EME) COMMUNICATIONS BY RADIO
  6. 1040 REM
  7. 1050 REM BASED ON PROGRAMS BY LANCE COLLISTER (WA1JXN/WA3GPL)
  8. 1060 REM AND JAY LIEBMANN (K5JL)
  9. 1070 REM SEE EIMAC PUBLICATIONS AS-49-6, AS-49-17 AND AS-49-24.
  10. 1080 REM VARIAN, EIMAC DIVISION
  11. 1090 REM 301 INDUSTRIAL WAY
  12. 1100 REM SAN CARLOS, CA 94070
  13. 1110 REM
  14. 1120 REM MODIFIED FOR MODEL 1 TRS-80 LEVEL 2 AND DISK BASIC
  15. 1130 REM WITH ENHANCED DISPLAYS AND ADDITIONS OF SIDEREAL TIME,
  16. 1140 REM RIGHT ASCENSION AND DISTANCES TO THE MOON (CONVERTED
  17. 1150 REM TO PATH-LOSS VARIATIONS IN DECIBELS)
  18. 1160 REM BY WARREN BUTLER (W2WD).
  19. 1170 REM
  20. 1180 REM INPUT DATA:LATITUDE,LONGITUDE, GMT DATE/TIME AT SITE.
  21. 1190 REM DATA FOR UP TO 31 DIFFERENT DAYS CAN BE INPUTTED AT
  22. 1200 REM ONE TIME. ENTER DATA IN THE FORMAT REQUESTED. AFTER
  23. 1210 REM THE LAST INPUT, INSERT ZEROS OR HIT <ENTER>
  24. 1220 REM
  25. 1230 REM OUTPUT DATA: GHA, DECLINATION, AZIMUTH AND ELEVATION OF
  26. 1240 REM MOON, SIDEREAL TIME (ST) AND LOCAL TIME, UNIVERSAL
  27. 1250 REM WINDOWS FOR EME COMMUNICATION, RIGHT ASCENSION OF MOON,
  28. 1260 REM PATH-LOSS VARIATIONS (DB)
  29. 1270 REM
  30. 1280 REM HARDCOPY OUTPUT CAN BE SELECTED IF PRINTER IS AVAILABLE.
  31. 1290 REM
  32. 1300 REM UNIVERSAL EME WINDOWS ARE SHOWN BY LETTERS FOLLOWING DEC.
  33. 1310 REM U = EUROPEAN UNIVERSAL WINDOW
  34. 1320 REM W = W/VE UNIVERSAL WINDOW
  35. 1330 REM J = J/VK/ZL UNIVERSAL WINDOW
  36. 1340 REM 
  37. 1350 REM BE PATIENT, THE CALCULATIONS CAN TAKE SEVERAL MINUTES.
  38. 1360 REM
  39. 1370 PRINT
  40. 1380 PRINT
  41. 1390 PRINT
  42. 1400 DIM F(31), V(31), Y(31), Q(31), S(31)
  43. 1410 P5=2#*3.14159265358979#
  44. 1420 D5=360#/P5
  45. 1430 R5=P5/360#
  46. 1440 CLS
  47. 1450 GOTO 1730
  48. 1460 PRINT
  49. 1470 PRINT "MOON COORDINATE PROGRAM"
  50. 1480 PRINT "WARREN BUTLER "
  51. 1490 PRINT
  52. 1500 PRINT
  53. 1510 PRINT
  54. 1520 PRINT
  55. 1530 PRINT "IF YOU NEED A DESCRIPTION OF PROGRAM, LIST LINES 1000-1360"
  56. 1540 PRINT "ELSE HIT <ENTER> TO CONTINUE";
  57. 1550 INPUT I%
  58. 1560 CLS
  59. 1570 REM BEGIN INPUT DATA SEQUENCE
  60. 1580 PRINT"WHAT ARE THE STATION CALL LETTERS";
  61. 1590 INPUT W$
  62. 1600 INPUT"WHAT IS YOUR LOCAL TIME (EST, EDT, PST, ETC.)";TL$
  63. 1610 PRINT"HOW MANY HOURS/MINUTES DIFFERENCE FROM GMT ?"
  64. 1620 PRINT"   USE  + IF EARLIER, - IF LATER"
  65. 1630 INPUT"   (EG., EST WOULD BE -0500)";TD
  66. 1640 IF TD<-1200 OR TD > 1200 THEN 1610
  67. 1650 PRINT "WHAT IS YOUR LATITUDE (DEGREES,MINUTES)"
  68. 1660 PRINT"+NORTH / -SOUTH ";
  69. 1670 INPUT L5, U5
  70. 1680 IF L5>90 OR L5<-90 OR U5>60 THEN 1650
  71. 1690 PRINT "WHAT IS YOUR LONGITUDE (DEGREES,MINUTES)"
  72. 1700 PRINT "+WEST / -EAST ";
  73. 1710 INPUT L6,U6
  74. 1720 IF L6>180 OR L6<-180 OR U6>60 THEN 1690
  75. 1730 L5=39:U5=58:L6=105:U6=.08:TL$="MST": TD=-600
  76. 1740 L5=(L5+U5/60)*R5
  77. 1750 L6=(L6+U6/60)*R5
  78. 1760 INPUT "WHAT IS THE DESIRED PRINTING INCREMENT IN MINUTES (1-60)";I
  79. 1770 IF I <=0 OR I>60 THEN 1760
  80. 1780 B$=" "
  81. 1790 INPUT"DO YOU ONLY WANT PRINTOUT WHEN THE MOON IS NEAR THE HORIZON(YES/NO)";B$
  82. 1800 IF LEFT$(B$,1)="Y" THEN 1830
  83. 1810 I6=100
  84. 1820 GOTO 2030
  85. 1830 INPUT"BELOW WHAT ELEVATION IN DEGREES DO YOU WANT PRINTOUT";I6
  86. 1840 WW$=" "
  87. 1850 INPUT"DO YOU WANT HARDCOPY PRINTOUT (YES/NO)";WW$
  88. 1860 IF LEFT$(WW$,1)="Y" THEN WW$="YES"
  89. 1870 PRINT
  90. 1880 PRINT
  91. 1890 PRINT"WHAT ARE THE GMT MONTH, DAY, YEAR DESIRED ?"
  92. 1900 PRINT"*** NOTE - USE 4-DIGITS FOR YEAR (EG.,1983) ***"
  93. 1910 PRINT"ENTER DATA FOR UP TO 31 DAYS"
  94. 1920 PRINT"HIT <ENTER> AFTER LAST ENTRY"
  95. 1930 PRINT
  96. 1940 N=0
  97. 1950 FOR N=1 TO 31
  98. 1960 PRINT"DAY ";N;"  (MM,DD,YYYY)";
  99. 1970 INPUT F(N), V(N), Y(N)
  100. 1980 IF F(N)=0 THEN 2220
  101. 1990 IF F(N)<1 OR F(N)>12 OR V(N)<1 OR V(N)>31 OR Y(N)<1900 OR Y(N)>2000 THEN 1960
  102. 2000 IF N=31 THEN 2220
  103. 2010 NEXT N
  104. 2020 GOTO 1950
  105. 2030 WW$=" "
  106. 2040 INPUT"DO YOU WANT HARDCOPY (YES/NO)";WW$
  107. 2050 IF LEFT$(WW$,1)="Y" THEN WW$="YES"
  108. 2060 REM
  109. 2070 PRINT
  110. 2080 PRINT"INPUT - GMT MONTH, DAY, YEAR, TIME BEGINNING, TIME ENDING"
  111. 2090 PRINT"USE 4-DIGITS FOR YEAR AND 24-HOUR CLOCK"
  112. 2100 PRINT"ENTER DATA FOR UP TO 31 DAYS"
  113. 2110 PRINT"HIT <ENTER> AFTER LAST ENTRY"
  114. 2120 PRINT
  115. 2130 N=0
  116. 2140 FOR N=1 TO 31
  117. 2150 PRINT"DATE";N;" (MM,DD,YYYY,TTTT,TTTT)";
  118. 2160 INPUT F(N), V(N), Y(N), Q(N), S(N)
  119. 2170 IF F(N)=0 THEN 2220
  120. 2180 IF F(N)<1 OR F(N)>12 OR V(N)<1 OR V(N)>31 OR Y(N)<1900 OR Y(N)>2000 OR Q(N)<0 OR Q(N)>2359 OR S(N)<.0001 OR S(N)>2400 THEN 2150
  121. 2190 IF N=31 THEN 2220
  122. 2200 NEXT N
  123. 2210 GOTO 2140
  124. 2220 IF N=31 THEN N5=N ELSE N5=N-1
  125. 2230 FOR N=1 TO N5
  126. 2240 IF LEFT$(B$, 1)="Y" THEN 2260
  127. 2250 GOTO 2290
  128. 2260 E1=2400
  129. 2270 B=0
  130. 2280 GOTO 2310
  131. 2290 E1=S(N)
  132. 2300 B=Q(N)
  133. 2310 M=F(N)
  134. 2320 D=V(N)
  135. 2330 Y=Y(N)
  136. 2340 Y1=Y-(INT(Y/100)*100)
  137. 2350 REM SETUP OUTPUT FORMAT
  138. 2360 PRINT
  139. 2370 IF WW$="YES" THEN LPRINT" "
  140. 2380 PRINT
  141. 2390 IF N=1 THEN CLS
  142. 2400 IF WW$="YES" THEN LPRINT " "
  143. 2410 PRINT"POSITION OF THE MOON ON ";M;"/";D;"/";Y;" GMT FROM" " "W$
  144. 2420 IF WW$="YES" THEN LPRINT"POSITION OF THE MOON ON ";M;"/";D;"/";Y;" GMT FROM " "  "W$
  145. 2430 PRINT
  146. 2440 IF WW$="YES" THEN LPRINT" "
  147. 2450 PRINT"GMT" TAB(8)"GHA" TAB(17)"DEC" TAB(27)"LST" TAB(37)TL$ TAB(47)"AZ"         TAB(56)"EL"
  148. 2460 IF WW$="YES" THEN LPRINT"GMT" TAB(8)"GHA" TAB(17)"DEC" TAB(27)"LST"              TAB(37)TL$ TAB(47)"AZ" TAB(56)"EL"
  149. 2470 I1=2
  150. 2480 REM CALCULATION OF JULIAN DATE
  151. 2490 IF M>=3 THEN 2570
  152. 2500 IF INT((Y-1853)/4)<11 THEN 2530
  153. 2510 C1=-1
  154. 2520 GOTO 2540
  155. 2530 C1=0
  156. 2540 J1=365*(Y-1853)+D+30*(M+9)+INT((M+10)/2)
  157. 2550 J2=INT((Y-1853)/4)+1+C1
  158. 2560 GOTO 2680
  159. 2570 IF INT((Y-1852)/4)<11 THEN 2600
  160. 2580 C1=-1
  161. 2590 GOTO 2610
  162. 2600 C1=0
  163. 2610 IF M=9 THEN 2650
  164. 2620 IF M=11 THEN 2650
  165. 2630 C2=0
  166. 2640 GOTO 2660
  167. 2650 C2=1
  168. 2660 J1=365*(Y-1852)+D+30*(M-3)+INT((M-2)/2)
  169. 2670 J2=INT((Y-1852)/4)+C1+C2
  170. 2680 J=J1+J2
  171. 2690 JD#=J+2397547.5#
  172. 2700 GOSUB 4450:REM FOR MOON DISTANCE CALCULATIONS
  173. 2710 T1=J-17472.5
  174. 2720 REM MAIN CALCULATIONS BEGIN
  175. 2730 D9=(B-INT(B/100)*100)+INT(B/100)*60
  176. 2740 D6=(E1-INT(E1/100)*100)+INT(E1/100)*60
  177. 2750 D7=D9-D6
  178. 2760 D8=D7-I
  179. 2770 IF D7>0 THEN 2790
  180. 2780 GOTO 2820
  181. 2790 IF D8>=0 THEN 4250
  182. 2800 B=E1
  183. 2810 REM CALCULATION OF LATITUDE AND LONGITUDE OF MOON
  184. 2820 T=(B-INT(B/100)*100)/1440+INT(B/100)/24
  185. 2830 T5=T1+T
  186. 2840 K1=((.751213+.036601102#*T5)-INT(.751213+.036601102#*T5))*P5  
  187. 2850 K2=((.822513+.0362916457#*T5)-INT(.822513+.0362916457#*T5))*P5
  188. 2860 K3=((.995766+.00273777852#*T5)-INT(.995766+.00273777852#*T5))*P5
  189. 2870 K4=((.974271+.0338631922#*T5)-INT(.974271+.0338631922#*T5))*P5
  190. 2880 K5=((.0312525+.0367481957#*T5)-INT(.0312525+.0367481957#*T5))*P5
  191. 2890 L8=K1+.658*R5*SIN(2*K4)+6.289*R5*SIN(K2)
  192. 2900 L8=L8-1.274*R5*SIN(K2-2*K4)-.186*R5*SIN(K3)
  193. 2910 L8=L8+.214*R5*SIN(2*K2)-.114*R5*SIN(2*K5)
  194. 2920 L8=L8-.059*R5*SIN(2*K2-2*K4)-.057*R5*SIN(K2+K3-2*K4)
  195. 2930 K6=K5+.6593*R5*SIN(2*K4)+6.2303*R5*SIN(K2)-1.272*R5*SIN(D2-2*K4)
  196. 2940 L7=5.144*R5*SIN(K6)-.146*R5*SIN(K5-2*K4)
  197. 2950 REM CALCULATION OF RIGHT ASCENSION (R1) AND DECLINATION (D1)
  198. 2960 D1=COS(L7)*SIN(L8)*.397821+SIN(L7)*.917463
  199. 2970 D1=ATN(D1/(SQR(1-D1^2)))
  200. 2980 G1=50+.5+((D1)/(.792))*D5
  201. 2990 G2=80+((D1)/(.808))*D5
  202. 3000 G3=141.5-((D1)*(.738)*D5)
  203. 3010 G4=170.5-((D1)*(.587)*D5)
  204. 3020 A2=COS(L7)*COS(L8)/COS(D1)
  205. 3030 A1=(COS(L7)*SIN(L8)*.917463-SIN(L7)*.397821)/COS(D1)
  206. 3040 A=ATN(A1/A2)
  207. 3050 GOSUB 3390
  208. 3060 R1=A
  209. 3070 R2=R1*57.295779#*24/360
  210. 3080 L1=.065709822#*T1
  211. 3090 L=T*24*1.002738+6.646055+(L1-INT(L1/24)*24)
  212. 3100 LA=L-(L6*24*57.295779#/360)*1.002738
  213. 3110 L=(L-INT(L/24)*24)
  214. 3120 REM CALCULATION OF GREENWICH HOUR ANGLE (G) FROM LOCAL SIDEREAL TIME
  215. 3130 G=(L/24)*P5-R1
  216. 3140 IF G<P5 THEN 3170
  217. 3150 G=G-P5
  218. 3160 GOTO 3210
  219. 3170 IF G<0 THEN 3190
  220. 3180 GOTO 3210
  221. 3190 G=G+P5
  222. 3200 REM CALCULATION OF LOCAL HOUR ANGLE (H) FROM GHA (G)
  223. 3210 H=L6-G
  224. 3220 GOSUB 4740:REM FOR PARALLAX CORRECTIONS
  225. 3230 REM CALCULATION OF ELEVATION (E) OF OBJECT
  226. 3240 E3=COS(L5)*COS(H)*COS(D1)+SIN(D1)*SIN(L5)
  227. 3250 E2=SQR(1-(E3*E3))
  228. 3260 E=ATN(E3/E2)
  229. 3270 F=E
  230. 3280 IF E<0 THEN 4200
  231. 3290 IF E>I6*R5 THEN 4200
  232. 3300 REM CALCULATION OF AZIMUTH (A) OF OBJECT
  233. 3310 A2=SIN(D1)/(COS(L5)*COS(F))
  234. 3320 A2=A2-(SIN(L5)/COS(L5))*(SIN(F)/COS(F))
  235. 3330 A1=SIN(L5)*SIN(D1)+COS(L5)*COS(D1)*COS(H)
  236. 3340 A1=(SIN(H)*COS(D1))/SQR(1-A1^2)
  237. 3350 A=ATN(A1/A2)
  238. 3360 GOSUB 3390
  239. 3370 GOTO 3540
  240. 3380 REM REMOVAL OF AMBIGUITIES INCURRED WITH ATN FUNCTION
  241. 3390 IF A=0 THEN 3410
  242. 3400 GOTO 3450
  243. 3410 IF A2<0 THEN 3430
  244. 3420 GOTO 3530
  245. 3430 A=P5/2
  246. 3440 GOTO 3530
  247. 3450 IF A>0 THEN 3510
  248. 3460 IF A2<0 THEN 3490
  249. 3470 A=P5+A
  250. 3480 GOTO 3530
  251. 3490 A=P5+(A-P5/2)
  252. 3500 GOTO 3530
  253. 3510 IF A2=>0 THEN 3530
  254. 3520 A=A+P5/2
  255. 3530 RETURN
  256. 3540 IF (T-I1)> (2*I)/1440 THEN 3560
  257. 3550 GOTO 3580
  258. 3560 PRINT
  259. 3570 IF WW$="YES" THEN LPRINT " "
  260. 3580 Z1=INT(A*D5*10+.5)/10
  261. 3590 Z2=INT(E*D5*10+.5)/10
  262. 3600 Z3=INT(G*D5*10+.5)/10
  263. 3610 Z4=INT(D1*D5*10+.5)/10
  264. 3620 IF Z4<0 THEN 3750
  265. 3630 IF Z3<G1 THEN 3750
  266. 3640 IF Z3>G2 THEN 3660
  267. 3650 GOTO 3690
  268. 3660 IF Z3<G3 THEN 3710
  269. 3670 IF Z3>G4 THEN 3750
  270. 3680 GOTO 3730
  271. 3690 Y$="U"
  272. 3700 GOTO 3760
  273. 3710 Y$="W"
  274. 3720 GOTO 3760
  275. 3730 Y$="J"
  276. 3740 GOTO 3760
  277. 3750 Y$=" "
  278. 3760 AT$="000"
  279. 3770 BT$="00"
  280. 3780 CT$="0"
  281. 3790 BS=INT(B+.5)
  282. 3800 IF BS<10 THEN BS$=AT$+RIGHT$(STR$(BS), 1):GOTO 3840
  283. 3810 IF BS<100 THEN BS$=BT$+RIGHT$(STR$(BS), 2):GOTO 3840
  284. 3820 IF BS<1000 THEN BS$=CT$+RIGHT$(STR$(BS), 3):GOTO 3840
  285. 3830 BS$=RIGHT$(STR$(BS), 4)
  286. 3840 IF TD>0 OR TD/100=INT(TD/100)THEN TC=TD: GOTO 3860
  287. 3850 TC=TD+2360
  288. 3860 ES=BS+TC
  289. 3870 IF ES>2400 THEN ES=ES-2400
  290. 3880 IF ES<=0 THEN ES=ES+2400
  291. 3890 IF ES<10 THEN ES$=AT$+RIGHT$(STR$(ES), 1):GOTO 3930
  292. 3900 IF ES<100 THEN ES$=BT$+RIGHT$(STR$(ES), 2):GOTO 3930
  293. 3910 IF ES<1000 THEN ES$=CT$+RIGHT$(STR$(ES), 3):GOTO 3930
  294. 3920 ES$=RIGHT$(STR$(ES), 4)
  295. 3930 IF LA<0 THEN LA=LA+24
  296. 3940 IF LA>24 THEN LA=LA-24
  297. 3950 LB=100*INT(LA)
  298. 3960 LC=60*(LA-INT(LA))
  299. 3970 IF LC-INT(LC)=>.5 THEN LC=INT(LC)+1 ELSE LC=INT(LC)
  300. 3980 IF LC=>60 THEN LC=0:LB=LB+100
  301. 3990 LD=LB+LC
  302. 4000 IF LD>2400 THEN LD=LD-2400
  303. 4010 LB$=STR$(LD)
  304. 4020 IF LD<10 THEN LB$=AT$+RIGHT$(LB$, 1):GOTO 4060
  305. 4030 IF LD<100 THEN LB$=BT$+RIGHT$(LB$, 2):GOTO 4060
  306. 4040 IF LD<1000 THEN LB$=CT$+RIGHT$(LB$, 3):GOTO 4060
  307. 4050 LB$=RIGHT$(LB$, 4)
  308. 4060 Z1$="###.#"
  309. 4070 Z2$="##.#"
  310. 4080 Z3$="###.#"
  311. 4090 Z4$="+##.#"
  312. 4100 PRINT TAB(1)"";BS$;
  313. 4110 PRINT TAB(7) Z3;
  314. 4120 PRINT TAB(16)Z4;
  315. 4130 PRINT Y$;
  316. 4140 PRINT TAB(27)LB$;
  317. 4150 PRINT TAB(37)"";ES$;
  318. 4160 PRINT TAB(45)Z1;
  319. 4170 PRINT TAB(55)Z2;
  320. 4180 IF WW$="YES" THEN LPRINT TAB(1)"";BS$;:LPRINT TAB(7)Z3;:LPRINT TAB(16)Z4;:LPRINT Y$;:LPRINT TAB(27)LB$;:LPRINT TAB(37)ES$;:LPRINT TAB(45)Z1;:LPRINT TAB(55)Z2;
  321. 4190 I1=T
  322. 4200 B=B+I
  323. 4210 Z=(B-INT(B/100)*100)-60
  324. 4220 IF Z<0 THEN 2730
  325. 4230 B=INT(B/100)*100+100+Z
  326. 4240 GOTO 2730
  327. 4250 RX=R2
  328. 4260 IF RX<0 THEN RX=RX+24
  329. 4270 IF RX>24 THEN RX=RX-24
  330. 4280 RA=100*INT(RX)
  331. 4290 RB=60*(RX-INT(RX))
  332. 4300 IF RB-INT(RB)=>.5 THEN RB=INT(RB)+1 ELSE RB=INT(RB)
  333. 4310 IF RB=60 THEN RB=0:RA=RA+100
  334. 4320 RC=RA+RB
  335. 4330 RY$=STR$(RC)
  336. 4340 IF RC<10 THEN RY$=AT$+RIGHT$(RY$, 1)
  337. 4350 IF RC<100 THEN RY$=BT$+RIGHT$(RY$, 2)
  338. 4360 IF RC<1000 THEN RY$=CT$+RIGHT$(RY$, 3)
  339. 4370 RY$=RIGHT$(RY$, 4)
  340. 4380 PRINT
  341. 4390 IF WW$="YES" THEN LPRINT" "
  342. 4400 PRINT"R.A. OF MOON = ";RY$; "   PATH-LOSS INCREASE  +";DB"DB"
  343. 4410 IF WW$="YES" THEN LPRINT "R.A. OF MOON =";RY$;"    PATH-LOSS INCREASE +";DB;" DB"
  344. 4420 PRINT
  345. 4430 NEXT N
  346. 4440 END
  347. 4450 REM CALCULATE DISTANCE TO THE MOON
  348. 4460 DD#=JD#-2444238.5#
  349. 4470 AA=.98564733#
  350. 4480 ED=-3.76286
  351. 4490 MS=(AA*DD#)+ED
  352. 4500 IF MS<0 THEN MS=MS+360: GOTO 4500
  353. 4510 IF MS>360 THEN MS=MS-360:GOTO 4510
  354. 4520 AE=.1858*SIN(MS*.0174533)
  355. 4530 AF=.37*SIN(MS*.0174533)
  356. 4540 LS=(AA*DD#)+(1.9157417#*SIN(.0174533*((AA*DD#)+(-3.76286))))+278.83354#
  357. 4550 IF LS<0 THEN LS=LS+360:GOTO 4550
  358. 4560 IF LS>360 THEN LS=LS-360:GOTO 4560
  359. 4570 LL=(13.1763966#*DD#)+64.975464#
  360. 4580 IF LL <0 THEN LL=LL+360:GOTO 4580
  361. 4590 IF LL >360 THEN LL=LL-360: GOTO 4590
  362. 4600 CC=LL-LS
  363. 4610 MM=LL-(.1114041*DD#)-349.383063#
  364. 4620 IF MM<0 THEN MM=MM+360:GOTO 4620
  365. 4630 IF MM >360 THEN MM=MM-360:GOTO 4630
  366. 4640 EV=1.2739*SIN(((2*CC)-(MM))*.0174533)
  367. 4650 MN=MM+EV-AE-AF
  368. 4660 EC=6.2886*SIN(MN*.0174533)
  369. 4670 MD=383242.41#/(1+.0549*COS((MN+EC)*.017453292#))
  370. 4680 REM CONVERT DISTANCE VARIATION TO PATH-LOSS CHANGE (DB)
  371. 4690 DB=MD/356334!
  372. 4700 DB=40*LOG(DB)/LOG(10)
  373. 4710 DB=INT(DB*10+.5)/10
  374. 4720 RETURN
  375. 4730 END
  376. 4740 REM CORRECTIONS FOR PARALLAX
  377. 4750 H1=H
  378. 4760 R#=MD/6378.16
  379. 4770 U=ATN(.996647*TAN(L5))
  380. 4780 P1=.996647*SIN(U)
  381. 4790 P2=COS(U)
  382. 4800 HC=ATN((P2*SIN(H))/(R#*COS(D1)-P2*COS(H)))
  383. 4810 H=H+HC
  384. 4820 G=L6-H
  385. 4830 D1=ATN((COS(H))*((R#*SIN(D1))-P1)/((R#*COS(D1)*COS(H1))-P2))
  386. 4840 RETURN
  387.